<?php
/**
 * 处理用户认证
 *
 * 
 */
class user_auth_process{

	 private $db_connect;
	 private $db_obj_user;

	 function __construct( $db_connect ){

	 	 //创建私有的用户数据库处理类
		 $this->db_obj_user = new db_obj_user( $db_connect );
	 }

	 function do_login( $request ){

	 	 $email = $request['email'];
		 $password = md5($request['password']);

		 //以用户提供的用户名为建查看数据库中有无符合的数据项
		 if ( $this->db_obj_user->load( 'email' , $email ) ){

			 //用户名存在的条件下，比较用户登录时提供的密码，和数据库中
			 //取出的密码是否相同
			 if ( $password == $this->db_obj_user->get( 'password' ) ){

				 //保存用户登录记录在session中
				 session::set( 'is_online' , true );
				 session::set( 'email' , $email );
				 session::set( 'nick' , $this->db_obj_user->get('nick') );
				 session::set( 'user_auth_process' , serialize( $this ) );
				 return true;

			 }else{
				 //密码错误
				 throw new Exception( '用户名或密码错误' );
			 }
			 
		 }else{
			 //用户不存在
			 throw new Exception( '用户名或密码错误' );
		 }
	 }

	 function do_logout(){

		 $_SESSION = array();
	 	 return true;
	 }
}
?>
